Hive的安装部署(一)
1.1 Hive的安装部署
Hive是一个客户端工具并没有集群的概念,所以Hive的安装部署相对简单。一般情况下,由于Hive的元数据信息存储在第三方数据库中(如MySQL),所以在安装Hive之前需要首先安装MySQL数据库。由于硬件资源有限,我们从Hadoop集群中选择hadoop1节点来安装部署Hive客户端以及MySQL元数据库即可。
1.1.1安装MySQL
MySQL数据库的安装有离线和在线安装两种方式,为了方便起见,我们选择在线安装方式。
(1)在线安装MySQL。在hadoop1节点上,使用yum命令在线安装MySQL数据库,具体操作如下所示。
[root@hadoop1 ~]# yum install mysql-server
(2)启动mysql服务。MySQL数据库安装成功之后,通过命令行启动MySQL服务,具体操作如下所示。
[root@hadoop1 ~]# systemctl start mysqld
[root@hadoop1 ~]# systemctl enable mysqld
(3)设置MySQL root用户密码。MySQL刚刚安装完成,默认root用户是没有密码的,需要登录MySQL设置root用户密码,具体步骤如下。
因为MySQL默认没有密码,所以使用root用户可直接登录MySQL,输入密码时可按Enter键回车即可,具体操作如下所示。
[root@hadoop1 ~]# mysql -u root -p
Enter password:
......
mysql>
在MySQL客户端设置root用户密码,具体操作如下所示。
mysql>alter user'root'@'localhost' identified with mysql_native_password by 'root';
设置完MySQL root用户密码之后,退出并重新登录MySQL,用户名为:root,密码为:root。
[root@hadoop1 ~]# mysql -u root –p
Enter password:
mysql>
如果能成功登录MySQL,就说明MySQL 的root用户密码设置成功。
(4)创建Hive账户。
①首先输入如下命令创建Hive账户,操作命令如下。
mysql>create user 'hive'@'hadoop1' identified by 'hive';
mysql>create user 'hive'@'%' identified by 'hive';
②将MySQL所有权限授予Hive账户,操作命令如下所示。
mysql>GRANT ALL PRIVILEGES ON *.* TO 'hive'@'hadoop1' WITH GRANT OPTION;
③将MySQL所有权限授予Hive账户,并允许所有ip访问。
mysql>GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' WITH GRANT OPTION;
④通过命令使上述授权生效,操作命令如下所示。
mysql> flush privileges;
⑤如果上述操作成功,就可以使用Hive账户登录MySQL数据库,具体命令如下。
[root@hadoop1 ~] mysql -h hadoop1 -u hive -p
⑥创建hive数据库。
mysql> create database hive;
1.1.2安装Hive
Hive的安装比较简单,因为Hive底层存储依赖HDFS,底层计算默认依赖MapReduce,所以我们选择一个节点部署Hive客户端,通过Hive客户端能将Hive 查询任务提交到Hadoop集群运行即可。
1.下载Hive
到官网(http://hive.apache.org/down/oads.html)下载 Hive 安装包apache-hive-3.1.3-bin.tar.gz,然后上传至hadoop1节点的/home/hadoop/app目录下。
1.解压Hive
在hadoop1节点上,使用解压命令解压Hive安装包,具体操作如下所示。
[hadoop@hadoop1 app]$ tar -zxvf apache-hive-3.1.3-bin.tar.gz
然后创建hive软连接,具体操作如下所示。
[hadoop@hadoop1 app]$ ln -s apache-hive-3.1.3-bin hive
3.修改hive-site.xml配置文件
进入hive的conf目录下发现hive-site.xml文件不存在,需要从默认配置文件复制一份,具体操作如下所示。
[hadoop@hadoop1 conf]$ cp hive-default.xml.template hive-site.xml
然后在hive-site.xml配置文件中,修改元数据库相关配置,修改内容如下所示。
[hadoop@hadoop1 conf]$ vi hive-site.xml
#配置连接驱动名为com.mysql.jdbc.Driver
javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
i
#修改连接MySQL的URL
javax.jdo.option.ConnectionURL jdbc:mysql://hadoop1:3306/hive?characterEncoding=UTF-8
#修改连接数据库的用户名和密码
javax.jdo.option.ConnectionUserName
hive
javax.jdo.option.ConnectionPassword
hive
4.配置Hive环境变量
打开.bashrc文件,配置Hive环境变量,具体操作如下所示。
[hadoop@hadoop1 conf]$ vi ~/.bashrc
修改为如下内容:
JAVA_HOME=/home/hadoop/app/jdk
HADOOP_HOME=/home/hadoop/app/hadoop
HIVE_HOME=/home/hadoop/app/hive
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:/home/hadoop/tools:$HIVE_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH HADOOP_HOME HIVE_HOME
保存并退出,并用命令source ~/.bashrc使配置文件生效。
5.添加MySQL驱动包
下载mysql-connector-j-8.0.31.jar(地址:http://central.maven.org/maven2/mysql/)驱动包,然后上传至Hive的lib目录下即可。
6.修改Hive相关数据目录
修改hive-site.xml配置文件,更改相关数据目录,具体配置如下所示。
[hadoop@hadoop1 conf]$ vi hive-site.xml
hive.querylog.location
/home/hadoop/app/hive/iotmp
hive.exec.local.scratchdir
/home/hadoop/app/hive/iotmp
hive.downloaded.resources.dir
/home/hadoop/app/hive/iotmp
7.启动Hive服务
第一次启动Hive服务需要先进行初始化,具体操作如下所示。
[hadoop@hadoop1 hive]$ bin/schematool -dbType mysql -initSchema
然后再执行bin/hive脚本启动Hive服务,具体操作如下所示。
[hadoop@hadoop1 hive]$ bin/hive
hive>show databases;
如果上述操作没有问题,则说明Hive客户端已经安装成功。
II